let num = 1
let bln = true
let nul = null
let nan = NaN
let undefi = undefined
let array = [1, 2, 3]
let o = { name: 'zs' }
let isset = new Set()
let isSym = Symbol(1)
let isMap = new Map()

//方法一 使用typeof 只能检测出简单数据类型，对于复杂数据类型均为object
function checkTypeBytypeof(data) {
  return console.log(typeof data)
}

//方法二 使用instanceof检测复杂数据类型  检测是不是某构造函数的原型链上
function checkTypeByinstanceof(data) {
  return console.log(data instanceof Object)
}

//方法三 使用Object.prototype.toString.call()
function checkTypeByObject(data) {
  return console.log(Object.prototype.toString.call(data))
}
//方法四 使用constructor  constructor指向构造函数
function checkTypeByconstructor(data) {
  return console.log(data.constructor)
}
